import tushare as ts
import pandas as pd
from datetime import datetime, timedelta
import common.base_profile as pf

# 设置你的 Tushare token
ts.set_token(pf.token)

# 创建Tushare数据接口
pro = ts.pro_api()

# 指数列表
# 000016.SH,上证50,SSE,中证指数有限公司,规模指数,20031231,1000.0,20040102
# 000300.SH,沪深300,SSE,中证指数有限公司,规模指数,20041231,1000.0,20050408
# 000905.SH,中证500,SSE,中证指数有限公司,规模指数,20041231,1000.0,20070115
# 000688.SH,科创50,SSE,中证指数有限公司,规模指数,20191231,1000.0,20200723
# 399006.SZ,创业板指,SZSE,深圳证券交易所,规模指数,20100531,1000.0,20100601
# 399330.SZ,深证100,SZSE,深圳证券交易所,规模指数,20021231,1000.0,20060124

indices = ['000016.SH', '000300.SH', '000905.SH', '000688.SH', '399006.SZ', '399330.SZ']

# 设定日期范围（这里我们假设从2020-01-01开始到今天）
start_date = '20020101'
end_date = datetime.now().strftime('%Y%m%d')  # 当前日期

# 获取数据并保存为CSV文件
for index in indices:
    print(f"正在处理指数: {index}")
    try:
        df = pro.index_daily(ts_code=index, start_date=start_date, end_date=end_date)
        if not df.empty:
            file_name = f"../data/{index}_daily_data.csv"
            df.to_csv(file_name, index=False)
            print(f"数据已成功写入文件: {file_name}")
        else:
            print(f"没有获取到指数{index}的数据")
    except Exception as e:
        print(f"处理指数{index}时出错: {str(e)}")

print("所有指数数据处理完毕。")